Computer systems for monitoring workflows representing business processes can be used to provide information regarding the number of instances of a workflow that are running. For example, Microsoft Corporation's BizTalk™ server executes long-running workflows (Orchestration Schedules) that represent business processes (cases). To achieve reliability and transactional support, the BizTalk™ server saves the state of the running instances in a Microsoft SQL™ database. Thus, an instance of a business process can be “running” indefinitely. A further high-level description of BizTalk™ Orchestration can be found in the white paper, “BizTalk Orchestration, A Technology for Orchestrating Business Interactions”, Microsoft Corporation, 2000.
Therefore, in a typical business that uses BizTalk™ Orchestration, at any moment of time, there will be many instances that are “running” (representing business cases being processed) and having reached different states of completion.
Very often, in order to make informed business decisions it is crucial to know metrics of how the business cases are processed, and the state of the cases currently being processed. The ability to obtain information, such as answers to the following questions, may help one to make informed business decisions:                Which part of the business process is a performance bottleneck?        In which part of the workflow is the business losing customers most often?        What is the dollar amount that is involved in the purchase orders that customers are waiting for a partner to fulfill?        In which cities is the business sluggish?        What are the trends regarding any of the above questions?        
The Orchestration engines of Biztalk™ 2000 and Biztalk™ 2002 allow a user to obtain the number of running schedules and their instance IDs (GUIDs). However, current known workflow monitoring systems, including Microsoft Corporation's BizTalk™ 2000 and Biztalk™ 2002, do not provide information such as the answers to the above questions.